{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Darts context size scaling\n",
    "import os\n",
    "\n",
    "# compare the NLL/D for the predictions of the different models\n",
    "from collections import defaultdict\n",
    "import seaborn as sns\n",
    "from data.metrics import calculate_crps\n",
    "import numpy as np\n",
    "import pickle\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "from data.small_context import get_datasets\n",
    "sns.set_style(\"whitegrid\")\n",
    "import matplotlib \n",
    "matplotlib.rcParams.update({'font.size': 18})\n",
    "sns.set_context(\"paper\", font_scale=1.5, rc={\"lines.linewidth\": 2})\n",
    "\n",
    "hue_order = ['SM-GP','N-BEATS','TCN','N-HiTS','ARIMA','GPT-3']\n",
    "palette = sns.color_palette('Dark2', len(hue_order))\n",
    "palette = palette[:2] + palette[3:] + palette[2:3]\n",
    "\n",
    "avg_nlls = defaultdict(list)\n",
    "crps = defaultdict(list)\n",
    "mae = defaultdict(list)\n",
    "datasets = get_datasets()\n",
    "for train_frac in [0.1, 0.2, 0.5, 1]:\n",
    "    if train_frac == 1:\n",
    "        output_dir = '../precomputed_outputs/subsample/small_context_tuned'\n",
    "    else:\n",
    "        output_dir = f'../precomputed_outputs/subsample/small_context_tuned_{train_frac}'\n",
    "\n",
    "    nlls = defaultdict(dict)\n",
    "    for dsname,(train,test) in datasets.items():\n",
    "        with open(f'{output_dir}/{dsname}.pkl','rb') as f:\n",
    "            data_dict = pickle.load(f)\n",
    "        for model_name,preds in data_dict.items():\n",
    "            if model_name in ['ada', 'babbage', 'curie']:\n",
    "                continue\n",
    "            if 'NLL/D' not in preds:\n",
    "                continue\n",
    "            nll = preds['NLL/D']\n",
    "            if model_name == 'text-davinci-003':\n",
    "                model_name = 'GPT-3'\n",
    "            nlls[model_name][dsname] = nll\n",
    "    # update with new runs\n",
    "    output_dir = f'eval/small_context_tuned_new_{train_frac}' if train_frac < 1 else 'eval/small_context_tuned'\n",
    "    for dsname,(train,test) in datasets.items():\n",
    "        if os.path.exists(f'{output_dir}/{dsname}.pkl'):\n",
    "            with open(f'{output_dir}/{dsname}.pkl','rb') as f:\n",
    "                data_dict = pickle.load(f)\n",
    "            for model_name,preds in data_dict.items():\n",
    "                if model_name not in ['gp']:\n",
    "                    continue\n",
    "                if model_name in ['ada', 'babbage', 'curie']:\n",
    "                    continue\n",
    "                if 'NLL/D' not in preds:\n",
    "                    continue\n",
    "                nll = preds['NLL/D']\n",
    "                if model_name == 'text-davinci-003':\n",
    "                    model_name = 'GPT-3'\n",
    "                print(f'Updated {model_name} {dsname} [{train_frac}]: {nlls[model_name][dsname]} --> {nll}')\n",
    "                nlls[model_name][dsname] = nll\n",
    "    avg_nlls[train_frac] = {k: np.array(list(v.values())).mean() for k,v in nlls.items()}\n",
    "    \n",
    "df = pd.DataFrame(avg_nlls)\n",
    "df = df.reset_index().rename(columns={'index':'Model'})\n",
    "# drop arima model\n",
    "# plot a line at arima\n",
    "arima_nll = df[df['Model'] == 'arima'][1].values[0]\n",
    "\n",
    "df = df[df['Model'] != 'arima']\n",
    "# change gp to GP\n",
    "df['Model'] = df['Model'].apply(lambda x: 'SM-GP' if x == 'gp' else x)\n",
    "\n",
    "df = df.melt(id_vars=['Model'], var_name='Train Fraction', value_name='NLL/D')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1000x225 with 7 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['SM-GP', 'N-BEATS', 'TCN', 'N-HiTS', 'ARIMA', 'LLMTime\\n(LLaMA)', 'LLMTime\\n(GPT-3)', 'PromptCast\\n(LLaMA)', 'PromptCast\\n(GPT-3)']\n"
     ]
    },
    {
     "data": {
      "image/png": "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K6/kgQceaA7Yp59+en70ox/l6aefzqmnntq87IoVK7Jy5cpWZ5Lactttt+Wll17KggULWtz64vd+7/cyePDgnH/++ZkzZ07+/M//vHneQQcdlEMOOaT58aGHHpqrrroqEyZMyK9+9asMGjRon14/bTviiCPy8MMPp6amJh/5yEf2aN3q6uoW79mAAQNy6aWXZvr06a0C9s7L7cqTTz6ZNWvW5M4778yVV16Zn/zkJxk8eHAqKytb1OjevXuracn2sxfz58/PtGnTcs455zRPv/766/Piiy/mwQcfPKAPvt/NevXq1dwzZedpO79HS5cuzfTp03PHHXfk3HPPbZ5+1FFHpUePHrnuuuvyyU9+svnHtv79+2fFihW588478/nPf/4deR38r33ZP7TXjrOYSWzjB5g5c+bkox/9aF5++eXMnDmzVZitqqpq9f4dccQRWbVqVaZNm5Y33nij1T5jh379+qVbt25ZvHhxxo8f3zy9qakpixcvzmmnnZaXX355j9sEQDlFBzk7EHXq1CnPPPNMXn/99RbTP/OZz+Thhx9ufnzIIYfktNNOy+LFi1ssV1tbm3POOWe3I6hv3Lgxc+bMyWWXXdbmfSX79u2befPm5eKLL95tm3fcMkMXr47zJ3/yJxkyZEgmT56cDRs27HO9nXsl7I25c+fmuOOOy9ChQ3PYYYdl5syZe1yjU6dOefLJJ7NtW8teJd/4xjfypS99aZ/ax7556KGHMmjQoBbheoeRI0fm/vvvz/HHH9887cgjj8z48eNz77335vnnn38nm0rK7x/aMnTo0BZnOdvDNr7/vfTSS/n5z3+eM888M+eff36eeuqprFixol3rdu3aNRUVFbu9LVZNTU2rY5Gf/exnaWxszODBg4u2CYA9954P2GPGjMkvf/nLnH322fnMZz6Te+65J88++2x69erVqvvVsGHD8uijj6apqal52qJFizJixIjdPs+zzz6bN998c5dnO4444oh07vz2nQoaGxvzwgsv5K677sqgQYNatY9yKioqctNNN+X111/P1772tX2q9etf/zoPPfRQRo8evVfr19XV5fHHH09NTU0qKioybNiwLFmyJOvXt38QqJ49e+bTn/50Zs6cmY9+9KP5whe+kJkzZ2bVqlU59NBDc+ihh+5V2yjj+eefzymnnNLmvM6dO2fIkCGtfsQbN25cjj/++EyaNClbt259J5rJ/1dy/1CKbfzdYfbs2enevXvOPvvsnHfeeamqqtrtD6JNTU15+umn88///M85//zzd/uD/fDhw/Piiy9m5cqVzdO+//3vp6amJp06tT6s25s2AbD33vNdxGtqatK/f/888MADWbZsWZYuXZpke9fMm2++uUV38AsuuCBTp07NM888k1NOOSXLly/P//zP/+SP//iP88ADD+zyeV577bUkLbv9JdvPhPzmN79pfnzqqafm29/+dvPjsWPHNv+avXXr1jQ1NeW0007LjTfe2OYXKeUMGDAg1113Xb785S/nggsuyFlnndWu9RYsWJAlS5Yk2T6oXX19fY488sj85V/+Zatld3T5fatly5Y1H2QtXLgwW7dubf4hZ8SIEZk+fXrmzp2bMWPGtPv1TJkyJSeddFLmzJmTRx99NAsXLkyy/Zrgm2++2QH4flRXV5f3vW/PrvHu3LlzvvrVr+aiiy7KHXfckb/7u7/roNbRlr3dP/z0pz9tc7uvr69Pv3799qlNtvH9a9u2bZk/f36GDh2a6urqVFdX56yzzsq8efNyzTXXpGvXrklafwa2bNmSPn36ZPjw4e265OOYY47Jcccdl8WLF+eKK65IQ0NDlixZkjvuuKPVuB7tbRMA5bznA3aSnHTSSTnppJPS2NiYF198MUuXLs13v/vdjB07No899ljzcn379s3gwYOzZMmSnHLKKamtrc15553XapChMWPG5Gc/+1nz4+uvvz59+/ZNklZd0e++++7U19cnSW699dbU1dW1mD916tR8+MMfTrL9gLpv37773N2Y9rv44ouzZMmSTJkypflgNdn+vn3rW99qfvyJT3yiecCjoUOHZsKECUm2H9ysWbMmd999d0aPHp158+bl/e9/f/N68+bNa/N5u3Xr1vz/nDlz8sEPfjBHHXVUkuRDH/pQjjrqqMyaNSuXX375Hg10N3LkyIwcObJ5UJ3HHnsss2bNytVXX51Zs2a1uw5l9enTp9W23x7HH398PvvZz+ab3/xmm93L6Vh7s3/40Ic+lFtvvbVVre985zutRn7eG7bx/Wfp0qV59dVXW/RqGzFiRH74wx9m0aJF+eQnP5mk5WfgpZdeyo033phBgwblc5/73G7PXu9QU1OTJUuW5IorrsiPf/zjVFdX5+STT24VsNvbJgDKeU8H7DVr1uRb3/pWxo0bl/79+6dTp0458cQTc+KJJ+bcc8/NyJEj85Of/KTFOsOHD89dd92ViRMnZtGiRc2jRe/spptuyubN/zvaad++fdPQ0JAuXbrkqaeeag7MSVrcaqtHjx6tDrIPPfTQfOADHyj0itkbU6dOzSc+8Yl89atfbZ52ySWXZNiwYc2Pdx71u0ePHi3es2OOOSbHHntszj777NTW1rYYxG537+2LL76YX/7yl6moqMiJJ57YPL2xsTFNTU350Y9+lDPPPHO3r+Gpp57KE0880XxrsOrq6gwZMiRDhgzJMccckxtuuCHr169v1cOCd8bJJ5+cp59+us15DQ0NGTduXD71qU+lpqam1fyxY8fmBz/4QSZNmpS/+Iu/6Oim8hZ7un+orq5uc7s/6KCD9qkdtvH9b+7cuUnSPDjqzmbOnNkcZnf+DHzgAx/IkUcemdGjR+eaa67J3Xff3a4fTYcPH55vfOMb+e///u/U1ta+7aBl7W0TAOW8p/sYd+nSJd/73vcyf/78VvN2dNc8+OCDW0w/77zzsm7dujz88MN5/fXX27ymekco3vHXs2fPHHTQQRk1alTuv//+vPLKK63WaWxsbHM6+9/hhx+eiRMnZvbs2fnpT3+aJOndu3eL93hHD4W3s+O6/cbGxj167tmzZ6eqqiozZszIvHnzmv8eeuihVFVVtRiIb1c2bNiQ+++/Pz//+c9bzevVq1eqq6tb3RqMd86f/dmfZfny5fnBD37Qat78+fPz7//+72874nznzp1zyy23ZOXKlbnvvvs6uqm8RYn9Qwm28f3rtddey9KlS3PhhRe22FfPmzcvF110UZ555pksX768zXWPPfbYTJgwIf/6r//a7mujBw4cmEGDBqW2tjaPPvpom2PB7EubANh77+kz2H369MmYMWPyj//4j9m4cWNqamrSs2fP/Nd//VfuvPPOnH766TnttNNarXP66afn7//+7zNixIhdDkr2VpMmTcqvf/3rXHjhhRk/fnzOOOOMdO3aNc8991ymT5+e559/vs1fmdn/Ro8encWLF+fJJ59scxT4nW3evDnr1q1rfvzKK6/k9ttvT/fu3XP++ee3WHbn5Xa24/63CxYsyAUXXNDmAFgjR47MggULsm7dut3e7utjH/tY/uiP/ijjx4/P1VdfnTPOOCMNDQ157rnnctttt2Xs2LH/5+6nfCA588wzc8kll+Saa67JZz/72Xz84x9Pkjz++OO54447cumll7YYD+Ktfv/3fz9XX311/uEf/uGdajI72ZP9Q0exje9f8+fPz7Zt2zJ27NgcffTRLeZdccUVeeSRR3YZnj/96U+ntrY2t956a4YOHdqu6+WHDRuWe++9N/369csJJ5yw12368pe/3M5XCUB7vKcDdpJ8/vOfb76e9cEHH8zmzZtz+OGHZ9iwYRk3blyb6wwbNizLli1r1+jhO+vWrVseeOCBzJkzJ//yL/+SadOmZePGjTnssMNyxhln5MYbb2zzS5J3hx1dQXdn0aJFWbRoUZLtow2/733vyx/8wR/kn/7pn1odNL3dwEjnnHNOLrzwwtTV1bXoUr6zyy67LI888ki+973v5corr9xlmzp16pR77rkn9913X2bMmJGvf/3raWxszDHHHJPPfe5zLe4Dz/5x/fXX58Mf/nBmzZqV++67L9u2bcvRRx+dr3zlKxk1atRu1x8zZkwee+yxPPfcc+9Aa3mr9u4fOoptfP+aO3duPvKRj7QKssn22+qde+65mT9//tveSaSioiJTp07Nn/7pn+YrX/lK7rrrrt0+5/Dhw3P77bfnsssu26c2TZgwod3XfgOwexVNO99zai9t3rw5K1asyMCBA1sMwLV6Q13OnntrtjRs28Xae69rZef824UTMqBn7w6pT8eof21VVk48IU31m3e/8F6oqKrOUbe8kKq+R3ZIfd59Gl7+XdYN/3aytaF88S6VOaR2TCoP37NRvtk76zeuzpcWfizbGrd0SP3OnbrmxpE/TJ8eAzqkPh2jYdOqrF18QtLYMd8b6VSdfjUvpLK7743k7Y/rANi9Dg3YyfaQvX7zxn19ijb1qe4hXB+g6l9blYY3Xu2Q2pW9Dhau34MaXv5dGuveLF63U+9uwvU7bP3G1dmwpf33ed8TPbv2Ea4PUA2bVqVxS8d8b3TqerBwvRMBG2DvdXjABgDgwOG4DmDvvadHEQcAAIBSBGwAAAAoQMAGAACAAooG7AKXcwMAsB85ngPYe0UCdlVVVZJk06ZNJcoBALCf7Die23F8B0D7dS5RpLKyMr17987atWuTJN27d09FRUWJ0gAAvAOampqyadOmrF27Nr17905lZeX+bhLAAafIbbqS7TvlNWvWpK6urkQ5AAD2g969e6d///5OlgDshWIBe4eGhobU19eXLAkAwDugqqrKmWuAfVA8YAMAAMB7kdt0AQAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAQI2AAAAFCBgAwAAQAECNgAAABQgYAMAAEABAjYAAAAUIGADAABAAf8P6yrCN91YU9oAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1000x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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ty5Dhw5t237yySenT58++cUvfpHa2tps2LAhL7zwQm655ZasXLmy3bjvvPNOnnvuubZTc0aOHJmRI0fm0UcfzbRp09rte+ihh6aysjIvvvhiPv3pTxf73rrLgAF9cu23zsjmTV3z+YF+/XtnwIA+H/v4D6+jtWvXJkkOOOCAdvvNnDkzS5cubfv64IMPzpNPPtn29be//e3ccsstSZIdO3Zk586dGTVqVO69997079//Y8+v1X777ZfHHnssq1evzq233ppZs2Zlzpw5bY/vaesGAOheXRoayfux0ZkY6Err16/Pzp07c+CBBxYb86ijjsr++++f+++/P3/+85+zevXqtmhoampqt2/r6VNPP/10amtr88wzz2Ts2LE56KCDOozb0NCQHTt2ZPLkyW3bpkyZkrvvvjvLli3L+PHj27ZXVFSkurq67Q3vnmDAgD6dioGu9OF1NGDAgCTJhg0b2u138803Z9u2bUmShx9+uMPnc6666qqcc845Sd7/NxwwYED69ev3/z2Pt956q8Nvw1588cW2/+7fv3+OPvroHH300Wlqaso3vvGNXHvttRk2bFjbc+5p6wYA6D5dHhr/yVqv7NTc3FxszN/+9re5/PLLc/rpp+e4445LbW1ttm7dmiuvvHKX+0+ePDlf+cpXsnnz5ixcuLBdSHxQfX19kuT8889v29Z6edKf/OQn7UIjeT9qevbc6z+C84n48DoaPnx4Bg0alKVLl7b79/xgQO6///4dxjnwwAM79ZuEwYMH7/JUumXLlqV3794ZM2ZM27bWS+E2Nja2hUZi3QAA5ezVoTFgwIBUVlbmH//4R7ExH3zwwZxwwgnt7sXx8MMPJ/lnGHzQiSeemL59++aJJ57IsmXL8t3vfrfDPitWrMhrr72WmTNndviJ9Z133plnnnkm77zzTttP0puamrJhw4YMHjy42PfFR/vwOqqoqMi0adNy77335qKLLsqRRx7Z4Zi//e1vxefRq1evXYZKXV1dGhsb212l7KWXXkqvXr1y6KGHtm2zbgCAkvbq0EiSMWPG5NVXX233m4LVq1fn+eefb7dfVVVVjj/++CTJtm3bOjzeOtbQoUPz7LPPZtmyZRkyZEiWLl2ae+65J0l2eY+CXr165eyzz85dd92VCRMmdDivP3n/txl9+vTJ9OnTO/wkfMaMGVm0aFHq6+vbPr+xcuXKNDU15dhjj/03/2/wcX14HX35y1/OihUrcvHFF+eKK67I6aefnv79++f111/PI488kiVLluSCCy74ROZ22WWX5ZJLLsndd9+dqVOnZsWKFZk9e3amTZvWFqeJdQMAlLXXh8ZZZ52Vn/3sZ+22NTQ0pKGhod22YcOGtZ1Tv27dusyYMaPDWHV1dbnqqquydu3atrt+H3744fnOd76Ta6+9NsuXL8+IESM6HDd58uTMnz9/l1eb2r59exoaGlJbW7vL021OOOGEjBo1KvPnz8/06dPTo0ePLF26NCNHjtzlJXLpGh9eRz179sycOXOycOHCPP7446mrq8vGjRszcODAjB8/Po888kgmTJjwicxt3Lhxue+++zJnzpzMmzcvBxxwQKZPn95hDVs3AEBJPVp2dT7Pv2nbtm1ZtWpVDjvssFRVVZWY1ydm/fr1mThxYn70ox9l9OjR3T2dImprazNt2rRceOGF3T2VvcaesI5KrJvd+bUAAChrr//UZ3V1daZPn5558+Z191SKWLJkSbZv357zzjuvu6eyV9nd15F1AwCUtteHRpJcccUVWbVqVV5++eXunkqnNDc356677sodd9yRysquu1Eiu7a7riPrBgDoCnv9qVNAOV4LAIBWfqMBAAAUJzQAAIDiioZGgbOwgN2Y1wAAoFWR0Gj9AOmWLVtKDAfsplpfA3yoHAAocsO+ioqKVFdXp7GxMUnSt2/f9OjRo8TQwG6gpaUlW7ZsSWNjY6qrq1NRUdHdUwIAulmRq04l77/RWLNmTdavX19iOGA3VF1dnSFDhvhBAwBQLjRaNTU1ZceOHSWHBHYDlZWVfpMBALQpHhoAAAAubwsAABQnNAAAgOKEBgAAUJzQAAAAihMaAABAcUIDAAAoTmgAAADFCQ0AAKA4oQEAABQnNAAAgOKEBgAAUJzQAAAAihMaAABAcUIDAAAoTmgAAADFCQ0AAKA4oQEAABQnNAAAgOKEBgAAUJzQAAAAihMaAABAcUIDAAAoTmgAAADFCQ0AAKA4oQEAABQnNAAAgOKEBgAAUJzQAAAAihMaAABAcUIDAAAoTmgAAADFCQ0AAKA4oQEAABQnNAAAgOKEBgAAUJzQAAAAihMaAABAcUIDAAAoTmgAAADFCQ0AAKA4oQEAABQnNAAAgOKEBgAAUJzQAAAAihMaAABAcUIDAAAoTmgAAADFCQ0AAKA4oQEAABQnNAAAgOKEBgAAUJzQAAAAihMaAABAcUIDAAAoTmgAAADFCQ0AAKA4oQEAABQnNAAAgOKEBgAAUJzQAAAAihMaAABAcUIDAAAoTmgAAADFCQ0AAKA4oQEAABQnNAAAgOKEBgAAUJzQAAAAihMaAABAcUIDAAAoTmgAAADFCQ0AAKA4oQEAABQnNAAAgOKEBgAAUJzQAAAAihMaAABAcUIDAAAoTmgAAADFCQ0AAKA4oQEAABQnNAAAgOKEBgAAUJzQAAAAihMaAABAcUIDAAAoTmgAAADFCQ0AAKA4oQEAABQnNAAAgOKEBgAAUJzQAAAAihMaAABAcUIDAAAoTmgAAADFCQ0AAKA4oQEAABQnNAAAgOKEBgAAUJzQAAAAihMaAABAcUIDAAAoTmgAAADFCQ0AAKA4oQEAABQnNAAAgOKEBgAAUJzQAAAAihMaAABAcUIDAAAoTmgAAADF/T+oFCs61HNoVwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxoAAACuCAYAAACx83usAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAWbklEQVR4nO3de1RVdf7/8ReXw8BB5YCCKOFlWZIgpCh5W780TG1wYQ5l4yVoOqUyNaNNqdnoTMvUGRn9JmnZyguhMqPpiIx4SWtqShwXRbkc8paTqIkW4ggOiiMc+P3h4uTxYBf5ICrPx1quxdn7sz/7c1hvD/t19mfv7VFbW1srAAAAADDIs6kHAAAAAOD2Q9AAAAAAYBxBAwAAAIBxBA0AAAAAxhE0AAAAABhH0AAAAABgHEEDAAAAgHEEDQAAAADGETQAAAAAGEfQAAAAAGAcQQMAAACAcQQNAAAAAMYRNAAAAAAYR9AAAAAAYBxBAwAAAIBxBA0AAAAAxnmb7tDhcKiqqsp0twDwo1gsFnl5eTX1MAAAaLaMBY3a2lp9/fXXKisrM9UlADSIzWZTaGioPDw8mnooAAA0O8aCRl3ICAkJkdVq5Q87gCZTW1urCxcuqKSkRJLUrl27Jh4RAADNj5Gg4XA4nCGjdevWJroEgAbx8/OTJJWUlCgkJIRpVAAA3GBGLgavuybDarWa6A4AjKj7TOK6MQAAbjyjd51iuhSAmwmfSQAANB1ubwsAAADAOOO3t72VxMfHq7i42Pnaw8NDVqtVkZGRmjx5suLi4ppwdO4OHz6s4uJiDRo0yLmsurpaf/7zn/W3v/1NRUVF+slPfqLIyEhNmDBBffv2NbbvCxcuaOPGjRo3bpyxPuGKevzhqEcAAG5+zf6Mht1uV15envLy8vTRRx9p7dq1atGihZ566imdPHmyqYfnYuLEiSosLHS+/t///qeUlBRlZmYqOTlZGzduVGZmprp06aInnnhCubm5xvadkZGhFStWGOsP9aMefxjqEQCAm1+zPqMhXb5YNDg42Pk6JCREs2bN0n333ad3331Xjz/+eBOO7ru9+uqrOnTokDZv3uxy+84ZM2aooqJCc+bMUXx8vPz9/Ru8r9ra2gb3ge9HPf4w1CMAADe/Zn9Goz7e3pfzl4+Pj+Lj45WWlqaEhAT16dNHH3/8sRwOhzIzMzVs2DBFR0dr2LBhWrNmjXP7/Px8RUZG6t1339WwYcMUExOjlJQUnTp1SnPmzFHv3r3Vr18/vfHGG85tpk+frueee04vv/yyYmNj1a9fP82bN0+XLl2S9O20mtdee03JycmqqqrShg0blJSUVO8zAp599lktW7ZMvr6+kqQvvvhCEydOVFxcnLp3767BgwcrIyPD2b6yslIzZszQgAEDFB0drZEjR2rHjh2SpMWLF+u1115TcXGxIiIidOLECfO/dFwT9Ug9AgBwKyJoXOWbb77Ryy+/LKvVqoEDB0qSsrKyNHPmTC1fvlw9evTQvHnztGTJEv3qV79Sbm6uxo0bp7lz5yozM9PZj8Ph0BtvvKEFCxZo5cqVOnjwoB566CFZLBatX79eo0ePVnp6ug4dOuTcZseOHSopKdHatWs1Z84c5eTkaO7cuZKkv/71rwoNDZXdbtfixYv11VdfqaysTLGxsfW+j7Zt2yomJkZeXl6qrKyU3W6XzWbT2rVrtXnzZj344INKS0vTgQMHJH37bfTSpUu1detW3XffffrNb36jEydOyG63y263KzQ0VHl5eTz87AaiHqlHAABuVc1+6tSbb77p/Ca1urpaly5dUpcuXZSenq727dtLkgYOHKj+/ftLkioqKrRmzRpNnz5diYmJkqROnTrpxIkTWrp0qcvUlsmTJys6OlqS1LdvX+3du1fTpk2Th4eHJk6cqCVLlujw4cOKiIiQJLVq1Urz58+Xn5+funbtqpKSEs2dO1dTp05VUFCQvLy8ZLVaZbPZVFRUJEkKCAj43vdYWVmplJQUjRs3zjltZdKkSVq+fLkOHTqkbt266fjx4/L391d4eLhatWrlvPg4ICBA/v7+slqt8vLycpnWA/OoR+oRAIDbRbMPGqNHj1ZycrIkydPTUzabTS1btnRp07FjR+fPR44cUVVVlXr16uXS5t5779XKlSt15syZerezWq264447nPf1r5tCUjcVRZJiYmKcTzOWpJ49e6qqqkpFRUXOA8Q6QUFBkqSysrLvfY9BQUEaO3asNm/erP379+v48eM6ePCgJKmmpkaSNH78eKWmpqpfv36KiYnRgAEDlJiY6Pa7QOOiHqlHAABuF81+6lRAQIA6duyojh07Kjw8vN4DmbqDMOnaF6HWHSDVzae/+mfp8oHjd7FYLPX26eXl5dY2PDxcbdq00WeffVZvX19++aXsdrsOHz6s06dPa8SIEVq/fr3atm2rsWPHauPGjS7te/bsqQ8//FCLFi1SVFSUcnJylJCQoN27d3/nmGEW9XgZ9QgAwK2v2QeNH6tLly6yWCz69NNPXZYXFBQoODj4B00duZZ9+/bJ4XA4X+/Zs0d+fn7q3LmzW1tPT0898sgjys7O1qlTp9zWL1++XIWFhQoLC9PmzZtVVlamNWvW6Omnn9aQIUNUXl4u6dsD1UWLFunTTz/V4MGDNXPmTG3fvl3h4eHavn27JJ6wfLOiHgEAwM2q0adOHT97QaXnL31/w+vQxt9HHQKtjdL3tbRo0UI///nPtWjRItlsNkVHRysvL09/+ctf9NxzzzXoAKi4uFizZs3S448/ri+//FKLFi3SY4895py+4u/vr6NHj6q0tFRt2rRRamqqdu7cqbFjx2ry5MmKjY11HsDl5ORo4cKFslqtCg0NVWVlpd555x316tVLR44c0R//+EdJ306V+eqrr7Rp0ybNnj1bHTp00N69e3Xy5En17NlT0uWpNuXl5SoqKtIdd9zh9m33reJS2UVVN1I9evv7yMfm+/0NDaIeb+16BADgdtaoQeP42Qu6O+0DXayuaZT+fb09dfCF+2942HjxxRcVGBioBQsWqLS0VJ06ddLvf/97Pfroow3qt0ePHs5vhlu2bKmUlBT98pe/dK5PTk5WWlqaDh8+rE2bNsnPz09ZWVnKyMjQsmXLdPLkSfn6+ioyMlKrV69W7969JUkPPvig9u3bp3nz5qmiokJhYWEaNWqU/v73v6uwsFBjxozRSy+9pLS0NE2dOlVlZWUKCwvTlClT9NBDD0mShg4dqnXr1mnEiBHKysrSPffc06D32hQulV3U5/+3W7WNVI8e3p7q/ny/Gx42qMdbsx4BALjdedQaePLVxYsXVVRUpM6dO7vMH//sRJl6p+9saPffqeDZ/6fYO2yNuo8bYfr06SouLtbq1aubeii3rQvF53TgtU8adR/dfhUna1irRt3HjXC71OO1PpsAAEDj4xoNAAAAAMYRNAAAAAAY1+yfo3GzmDdvXlMPAXCiHgEAQENxRgMAAACAcQQNSdXV1XrkkUf0+eefKz4+XosXL75m28WLFys+Pr5B+5s+fboiIiKUmppa7/otW7YoIiLC+YToKx09elQREREaOXKk27qamhqNGjVKhYWFDRofmtaV9ShdfrZEdna2kpOT1bdvX3Xv3l1DhgzR3Llzdfr0aZdtIyIiXP5169ZNcXFxGj9+vA4dOiTp2/r7rn/XsnXrViUmJiomJkYPPPCAli1b5nz2BfUHAACuRNCQtGLFCt15553q3r37DdunxWLRrl27VFFR4bZu69at13z+QXZ2tjp37qwDBw5o7969Lus8PT01ZcoUvfjii87nEeDWc2U91tTU6JlnntG8efN0//33a/Xq1dqxY4dmzpypwsJCPfzwwzpz5ozL9r/97W+Vl5envLw8/eMf/1BGRobOnTsnu92u8+fPa8aMGc71eXl5btvULbvazp07NWXKFD366KPasmWLpk2bpiVLlmjVqlWSqD8AAOCq2QeN//73v1q6dKmefPLJG7rf7t27y9fXV++//77L8oqKCu3cuVO9evVy28bhcCgnJ0dJSUnq0qWL1q5d69amT58+8vHx0aZNmxpt7Gg8V9djZmamPvzwQ7311luy2+2666671L59ew0cOFCZmZmyWCxasWKFSx8tW7ZUcHCwgoOD1bZtW0VHR+uFF15QaWmpdu/e7bI+ODjYbZu6ZVc7ffq0JkyYoOTkZIWHh2vo0KHq37+/du3a5WxD/QEAgDrNPmi8/fbbCg0N1V133WWsz/fee0+jRo1Sjx49FB0draSkJO3c6fo8EYvFosGDB+udd95x2zYiIkLh4eFu/ebl5embb77RgAEDNHToUG3btk3nzp1zazd8+HC99dZbxt4Pbpwr67G2tlZZWVkaMWKEoqKi3Nr6+vpq1apVevbZZ7+3X2/vy/d98PHxue6xJSUlOfdVU1Ojf/7zn/rkk080YMAAl3bUHwAAkBo5aLTx95Gvd+PtwtfbU238r//ASbp8YD9w4EBDI5I+//xz/frXv9bw4cOVm5urdevWKSgoSNOmTXObTvLTn/5UeXl5LtOntm7dquHDh9fb94YNG9ShQwdFRUUpISFBlZWVysnJcWs3aNAg/fvf/9axY8eMva/bgbe/jzwasR49vD3lbbAeT5w4oeLiYvXv3/+a7cPCwr4zPNTW1uro0aOaP3++QkJCFBsb26DxSdLJkycVHR2tJ554QtHR0RozZozLeuoPAABIjXx72w6BVh184X6Vnm+c+dpt/H3UIdB63dvX1NSosLBQo0ePNjYmLy8v/e53v9PYsWOdy1JSUjR+/HidOXNG7dq1cy7v37+//Pz89MEHHygxMVHl5eXavXu3Zs+erYMHD7r0e/bsWb3//vvOKTVdu3ZV165d9fbbbyslJcWlbadOnWSxWLRnzx517NjR2Hu71fnYfNX9+X6qbqR69Pb3kY/t+p8+fXU9lpaWSpKCgoJc2qWmpio/P9/5un379tqyZYvz9UsvvaTZs2dLkqqqqlRdXa2oqCi9/vrratGixXWPr06rVq20fv16HTt2THPmzNG0adOUnp7uXE/9AQAA6QY8R6NDoLVBYaAxlZWVqbq6Wq1btzbWZ7du3RQQEKClS5fqyJEjOnbsmDM0OBwOl7Z106e2b9+uxMRE7dixQz169FDbtm3d+s3NzVVVVZUSEhKcy4YPH66FCxeqoKBAvXv3di738vKSzWZzHqjiWz423waFgcZ0dT0GBgZKksrLy13azZo1SxcvXpQkrV692u06n0mTJmno0KGSLtdCYGCg/P39f/A4Tp486XZWbc+ePc6fW7RoocjISEVGRsrhcOj555/X1KlTFRYW5twn9QcAAJr1A/vq7uxUU1NjrM+PP/5YTz75pAYNGqRevXopMTFRlZWVeuaZZ+ptn5CQoKefflrnz5/Xtm3bXILElbKzsyVJP/vZz5zL6m4rumbNGpegIV0ONZ6ezf4SnFvK1fUYHh6u4OBg5efnu9TFlUE0ICDArZ/WrVs36ExCSEhIvVPyCgoK5OPjo5iYGOeyulvhlpSUOIOGRP0BAIBmHjQCAwNlsVj0n//8x1ifGRkZ6tOnj8uzOFavXi3p22Bwpb59+8pqtSonJ0cFBQVasGCBW5v9+/frwIEDSk1Ndfum+U9/+pN27Nihs2fPOr8BdzgcKi8vV0hIiLH3hcZ3dT16eXkpJSVFr7/+usaMGaO7777bbZtTp04ZH4e3t3e9QWXVqlUqKSlxudvZ3r175e3trU6dOjmXUX8AAEBq5kFDkmJiYrRv3z6XMwXHjh3TRx995NLO19dX9957ryTp4sWLbuvr+mrXrp3ee+89FRQUKDQ0VPn5+Xr11Vclqd5nC3h7e2vIkCF65ZVXFBcX5zYfX7p8NsPPz092u93tG+zx48dr586dys7Odl6/cfDgQTkcDt1zzz0/8reBpnZ1PT711FPav3+/xo4dqwkTJmjQoEFq0aKFvvjiC2VlZWnXrl16+OGHb8jYfvGLX+ixxx7TwoULlZSUpP3792v+/PlKSUlxhlyJ+gMAAJc1+6DxwAMPaOPGjS7LcnNzlZub67IsLCzMORf+zJkzGj9+vFtfq1at0qRJk1RaWup86vedd96pP/zhD5o6daoKCwvVpUsXt+0SEhK0bt26eu82denSJeXm5ioxMbHeaTJ9+vRRVFSU1q1bJ7vdLg8PD+Xn56tr16713iIXN7er69HT01Pp6enatm2bNmzYoFWrVuncuXNq06aNevfuraysLMXFxd2QscXGxurNN99Uenq6MjMzFRQUJLvd7vZ/gfoDAACS5FFb33yeH+nixYsqKipS586d5et7c15oey1lZWWKj4/XypUrFR0d3dTDMSIxMVEpKSkaNWpUUw8FP9LtUI83U/3dyp9NAADc6pr91Zo2m012u12ZmZlNPRQjdu3apUuXLmnkyJFNPRRch1u9Hqk/AABQp9kHDUmaMGGCioqK9K9//auph9IgNTU1euWVV5SWliaLxdLUw8F1ulXrkfoDAABXavZTpwDcvvhsAgCg6XBGAwAAAIBxBA0AAAAAxhkNGgZmYQGAMXwmAQDQdIwEjboLPy9cuGCiOwAwou4ziYvTAQC48Yw8sM/Ly0s2m00lJSWSJKvVKg8PDxNdA8CPVltbqwsXLqikpEQ2m01eXl5NPSQAAJodI3edki7/Yf/6669VVlZmojsAaDCbzabQ0FC++AAAoAkYCxp1HA6HqqqqTHYJAD+axWLhTAYAAE3IeNAAAAAAAG5vCwAAAMA4ggYAAAAA4wgaAAAAAIwjaAAAAAAwjqABAAAAwDiCBgAAAADjCBoAAAAAjCNoAAAAADCOoAEAAADAOIIGAAAAAOMIGgAAAACMI2gAAAAAMI6gAQAAAMA4ggYAAAAA4wgaAAAAAIwjaAAAAAAwjqABAAAAwDiCBgAAAADjCBoAAAAAjCNoAAAAADCOoAEAAADAOIIGAAAAAOMIGgAAAACMI2gAAAAAMI6gAQAAAMA4ggYAAAAA4wgaAAAAAIwjaAAAAAAwjqABAAAAwDiCBgAAAADjCBoAAAAAjCNoAAAAADCOoAEAAADAOIIGAAAAAOMIGgAAAACMI2gAAAAAMI6gAQAAAMA4ggYAAAAA4wgaAAAAAIwjaAAAAAAwjqABAAAAwDiCBgAAAADjCBoAAAAAjCNoAAAAADCOoAEAAADAOIIGAAAAAOMIGgAAAACMI2gAAAAAMI6gAQAAAMA4ggYAAAAA4wgaAAAAAIwjaAAAAAAwjqABAAAAwDiCBgAAAADjCBoAAAAAjCNoAAAAADCOoAEAAADAOIIGAAAAAOMIGgAAAACMI2gAAAAAMI6gAQAAAMA4ggYAAAAA4wgaAAAAAIwjaAAAAAAwjqABAAAAwDiCBgAAAADjCBoAAAAAjCNoAAAAADCOoAEAAADAOIIGAAAAAOMIGgAAAACMI2gAAAAAMI6gAQAAAMA4ggYAAAAA4wgaAAAAAIwjaAAAAAAwjqABAAAAwDiCBgAAAADjCBoAAAAAjCNoAAAAADCOoAEAAADAOIIGAAAAAOMIGgAAAACMI2gAAAAAMI6gAQAAAMA4ggYAAAAA4wgaAAAAAIwjaAAAAAAwjqABAAAAwDiCBgAAAADjCBoAAAAAjCNoAAAAADCOoAEAAADAOIIGAAAAAOMIGgAAAACMI2gAAAAAMI6gAQAAAMA4ggYAAAAA4wgaAAAAAIwjaAAAAAAwjqABAAAAwDiCBgAAAADjCBoAAAAAjCNoAAAAADCOoAEAAADAOIIGAAAAAOMIGgAAAACMI2gAAAAAMI6gAQAAAMA4ggYAAAAA4wgaAAAAAIz7/0416csU8aflAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1000x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pickle\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "import matplotlib.patches as mpatches\n",
    "from matplotlib.gridspec import GridSpec\n",
    "\n",
    "import sys\n",
    "sys.path.append(\"..\")\n",
    "from data.small_context import get_datasets\n",
    "\n",
    "sns.set(style=\"whitegrid\", font_scale=1.)\n",
    "\n",
    "datasets = get_datasets()\n",
    "\n",
    "fig = plt.figure(figsize=(10, 2.25))\n",
    "gs = GridSpec(\n",
    "    2, 8, figure=fig, \n",
    "    width_ratios=[2, 8, 6, 7/1.5, 4, 9/1.5, 6, 10], \n",
    "    wspace=0.0, hspace=0.5\n",
    ")\n",
    "\n",
    "ax = [\n",
    "    fig.add_subplot(gs[0, 0]),\n",
    "    fig.add_subplot(gs[0, 1]),\n",
    "    fig.add_subplot(gs[1, 0]),\n",
    "    fig.add_subplot(gs[1, 1]),\n",
    "    fig.add_subplot(gs[:, 3]),\n",
    "    fig.add_subplot(gs[:, 5]),\n",
    "    fig.add_subplot(gs[:, 7]),\n",
    "]\n",
    "\n",
    "name_order = ['SM-GP','N-BEATS','TCN','N-HiTS','ARIMA','LLaMA-2 70B','GPT-3']\n",
    "palette = sns.color_palette('Dark2', len(name_order))\n",
    "palette = palette[:2] + palette[3:6] + ['#a60355'] + palette[2:3]\n",
    "\n",
    "datasets_to_plot = [\n",
    "    'AirPassengersDataset', \n",
    "    'GasRateCO2Dataset',\n",
    "]\n",
    "\n",
    "csv_fn = \"../precomputed_outputs/deterministic_csvs/darts_results_agg.csv\"\n",
    "df = pd.read_csv(csv_fn)\n",
    "\n",
    "ax_idx = 0\n",
    "# Iterate through the datasets and plot the samples\n",
    "for idx, dsname in enumerate(datasets_to_plot):\n",
    "    train,test = datasets[dsname]\n",
    "\n",
    "    pkl_fn = f\"../precomputed_outputs/darts/{dsname}.pkl\"\n",
    "    with open(pkl_fn,'rb') as f:\n",
    "        data_dict = pickle.load(f)\n",
    "\n",
    "    if not 'text-davinci-003' in data_dict:\n",
    "        continue\n",
    "    samples = data_dict['text-davinci-003']['samples']\n",
    "    lower = samples.quantile(0.1,axis=0)\n",
    "    upper = samples.quantile(0.9,axis=0)\n",
    "    \n",
    "    pred_color = sns.color_palette('Dark2')[2]\n",
    "    train_test = pd.concat([train,test])\n",
    "\n",
    "    ax[2*idx+1].plot(train_test, color='k',label='Ground Truth', linewidth=1)\n",
    "    ax[2*idx+1].fill_between(samples.iloc[0].index, lower, upper, alpha=0.5)\n",
    "    ax[2*idx+1].plot(samples.iloc[0].index, data_dict['text-davinci-003']['median'], color=pred_color,label='GPT3 Median',linewidth=1)\n",
    "    # ax[2*idx+1].set_xlabel(dsname.replace(\"Dataset\",\"\"))\n",
    "    ax[2*idx+1].get_yaxis().set_visible(False)\n",
    "    # ax[2*idx+1].get_xaxis().set_visible(False)\n",
    "    ax[2*idx+1].set_title(dsname.replace(\"Dataset\",\"\"))\n",
    "\n",
    "\n",
    "    import matplotlib.dates as mdates\n",
    "    myFmt = mdates.DateFormatter('%d')\n",
    "    # ax[2*idx+1].xaxis.set_major_formatter(myFmt)\n",
    "    # ax[2*idx+1].xaxis.set_major_locator(plt.MaxNLocator(2))\n",
    "    # ax.set_xticklabels([0, 0, len(train_test) // 2, len(train_test)])\n",
    "    \n",
    "    # palette = sns.color_palette('Dark2', len(hue_order))\n",
    "    # palette = palette[:2] + palette[3:-1] + ['#a60355'] + palette[2:3]\n",
    "\n",
    "    sns.barplot(\n",
    "        x='Dataset',\n",
    "        # x='data_type',\n",
    "        # order=['Trend', 'Periodic', 'Trend + Periodic'],\n",
    "        y='NLL/D',\n",
    "        hue='Type', \n",
    "        hue_order=name_order,\n",
    "        data=df[df['Dataset'] == dsname.replace(\"Dataset\",\"\")], \n",
    "        ax=ax[2*idx], \n",
    "        palette=palette,\n",
    "    )\n",
    "\n",
    "    ax[2*idx].get_legend().remove()\n",
    "\n",
    "\n",
    "gpt_color = sns.color_palette('Dark2',3)[2]\n",
    "\n",
    "name_order = ['SM-GP','N-BEATS','TCN','N-HiTS','ARIMA','LLaMA-2 70B','GPT-3']\n",
    "palette = sns.color_palette('Dark2', len(name_order))\n",
    "palette = palette[:2] + palette[3:6] + ['#a60355'] + palette[2:3]\n",
    "\n",
    "csv_fn = \"../precomputed_outputs/deterministic_csvs/promptcast_comparison.csv\"\n",
    "promptcast_df = pd.read_csv(csv_fn)\n",
    "promptcast_df['Type'] = promptcast_df['model_name']\n",
    "promptcast_df['CRPS'] = promptcast_df['crps']\n",
    "\n",
    "promptcast_palette = sns.color_palette('colorblind', 5)\n",
    "promptcast_palette = [\n",
    "    promptcast_palette[0], \n",
    "    promptcast_palette[-1], \n",
    "    '#a60355', \n",
    "    gpt_color\n",
    "]\n",
    "model_names = [\n",
    "    'PromptCast\\n(LLaMA)', 'PromptCast\\n(GPT-3)', \n",
    "    'LLMTime\\n(LLaMA)', 'LLMTime\\n(GPT-3)',\n",
    "]\n",
    "\n",
    "\n",
    "c = sns.barplot(\n",
    "    data=df,\n",
    "    order=name_order,#['SM-GP','N-BEATS','TCN','N-HiTS','ARIMA','GPT-3','LLaMA70B'],\n",
    "    x='Type',\n",
    "    y='NLL/D',\n",
    "    ax=ax[4], \n",
    "    color=\"grey\",\n",
    "    palette=palette,\n",
    "    # edgecolor='black',\n",
    "    errwidth=1.,\n",
    "    errorbar=('ci', 68)\n",
    ")\n",
    "\n",
    "name_order = [\n",
    "    'PromptCast\\n(GPT-3)', 'PromptCast\\n(LLaMA)',\n",
    "    'N-BEATS', 'SM-GP','TCN','N-HiTS','ARIMA',\n",
    "    'LLaMA-2 70B','GPT-3'\n",
    "]\n",
    "c = sns.barplot(\n",
    "    data=pd.concat([promptcast_df, df]),\n",
    "    order= name_order,#['SM-GP','N-BEATS','TCN','N-HiTS','ARIMA','GPT-3','LLaMA70B'],\n",
    "    x='Type',\n",
    "    y='CRPS',\n",
    "    ax=ax[5], \n",
    "    color=\"grey\",\n",
    "    palette=promptcast_palette[:2] + palette,\n",
    "    # edgecolor='black',\n",
    "    errwidth=1.,\n",
    "    errorbar=('ci', 68)\n",
    ")\n",
    "\n",
    "for a in ax:\n",
    "    a.set_xlabel('')\n",
    "    a.set_xticklabels([])\n",
    "    a.set_xticks([])\n",
    "\n",
    "ax[4].set_ylabel(\"NLL/D\")\n",
    "ax[5].set_ylabel(\"CRPS\")\n",
    "\n",
    "name_order = ['SM-GP','N-BEATS','TCN','N-HiTS','ARIMA','LLaMA-2 70B','GPT-3']\n",
    "csv_fn = \"../precomputed_outputs/deterministic_csvs/subsampling_results.csv\"\n",
    "df = pd.read_csv(csv_fn)\n",
    "\n",
    "sns.pointplot(\n",
    "    x='Train Fraction', \n",
    "    y='NLL/D', \n",
    "    hue='Model',\n",
    "    data=df, \n",
    "    palette=palette, \n",
    "    hue_order=name_order,\n",
    "    ax=ax[6],\n",
    ")\n",
    "ax[6].axhline(arima_nll, linestyle='--', label='ARIMA', color=palette[-3], linewidth=4)\n",
    "ax[6].set_ylim(3.5,10.5)\n",
    "# plt.ylabel('NLL/Dimension')\n",
    "\n",
    "#change all linewidths to 2\n",
    "for l in ax[6].lines:\n",
    "    l.set_linewidth(2)\n",
    "\n",
    "#change point sizes to 100\n",
    "for c in ax[6].collections:\n",
    "    c.set_sizes([20])\n",
    "\n",
    "#turn legend off\n",
    "ax[6].get_legend().remove()\n",
    "\n",
    "fig.savefig('outputs/darts_results.svg', bbox_inches='tight')\n",
    "plt.show()\n",
    "\n",
    "\n",
    "combined_palette = palette + promptcast_palette[:2]\n",
    "combined_names = name_order[:-2] + model_names[2:] + model_names[:2]\n",
    "print(combined_names)\n",
    "#make legend using palette and model names\n",
    "handles = []\n",
    "for i, m in enumerate(combined_names):\n",
    "    handles.append(\n",
    "        mpatches.Patch(color=combined_palette[i], label=m)\n",
    "    )\n",
    "labels = combined_names\n",
    "\n",
    "fig, ax = plt.subplots(\n",
    "    1, 1, \n",
    "    figsize=(10, 2), \n",
    ")\n",
    "ax.axis('off')\n",
    "\n",
    "leg = ax.legend(\n",
    "    handles=handles[:5],\n",
    "    labels=labels[:5],\n",
    "    loc='upper left',\n",
    "    # fontsize=9,\n",
    "    handlelength=1.5,\n",
    "    # bbox_to_anchor=(0.2, -0.28),\n",
    "    columnspacing=3, \n",
    "    handletextpad=1.,\n",
    "    frameon=True,\n",
    "    ncols=5\n",
    ")\n",
    "\n",
    "plt.tight_layout()\n",
    "fig.savefig('outputs/darts_legend_1.svg', bbox_inches='tight')\n",
    "plt.show()\n",
    "\n",
    "fig, ax = plt.subplots(\n",
    "    1, 1, \n",
    "    figsize=(10, 2), \n",
    ")\n",
    "ax.axis('off')\n",
    "\n",
    "leg = ax.legend(\n",
    "    handles=handles[5:7],\n",
    "    labels=labels[5:7],\n",
    "    loc='upper left',\n",
    "    # fontsize=9,\n",
    "    handlelength=1.5,\n",
    "    # bbox_to_anchor=(0.2, -0.28),\n",
    "    columnspacing=3, \n",
    "    handletextpad=1.,\n",
    "    frameon=True,\n",
    "    ncols=5\n",
    ")\n",
    "\n",
    "fig.savefig('outputs/darts_legend_2.svg', bbox_inches='tight')\n",
    "plt.show()\n",
    "\n",
    "fig, ax = plt.subplots(\n",
    "    1, 1, \n",
    "    figsize=(10, 2), \n",
    ")\n",
    "ax.axis('off')\n",
    "\n",
    "leg = ax.legend(\n",
    "    handles=handles[7:9],\n",
    "    labels=labels[7:9],\n",
    "    loc='upper left',\n",
    "    # fontsize=9,\n",
    "    handlelength=1.5,\n",
    "    # bbox_to_anchor=(0.2, -0.28),\n",
    "    columnspacing=3, \n",
    "    handletextpad=1.,\n",
    "    frameon=True,\n",
    "    ncols=5\n",
    ")\n",
    "\n",
    "#put (a) above the first 3 subplots\n",
    "# ax[0].text(1, -0.2, '(a)', transform=ax[0].transAxes, size=14, weight='bold')\n",
    "# ax[0].text(4.5, -0.2, '(b)', transform=ax[0].transAxes, size=14, weight='bold')\n",
    "\n",
    "fig.savefig('outputs/darts_legend_3.svg', bbox_inches='tight')\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
